package datos;

// Generated 14/03/2010 01:41:37 by Hibernate Tools 3.2.4.GA

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Producto generated by hbm2java
 */
@Entity
@Table(name = "producto", catalog = "peluqueria")
public class Producto implements java.io.Serializable {

	private Integer idProducto;
	private Proveedor proveedor;
	private String nombre;
	private String marca;
	private String codigoBarra;
	private String descripcion;
	private double cantidad;
	private Double precioCosto;
	private double precioVenta;
	private Integer cantidaMinima;
	private Set<Compra> compras = new HashSet<Compra>(0);
	private Set<Venta> ventas = new HashSet<Venta>(0);

	public Producto() {
	}

	public Producto(String nombre, double cantidad, double precioVenta) {
		this.nombre = nombre;
		this.cantidad = cantidad;
		this.precioVenta = precioVenta;
	}

	public Producto(Proveedor proveedor, String nombre, String marca,
			String codigoBarra, String descripcion, double cantidad,
			Double precioCosto, double precioVenta, Integer cantidaMinima,
			Set<Compra> compras, Set<Venta> ventas) {
		this.proveedor = proveedor;
		this.nombre = nombre;
		this.marca = marca;
		this.codigoBarra = codigoBarra;
		this.descripcion = descripcion;
		this.cantidad = cantidad;
		this.precioCosto = precioCosto;
		this.precioVenta = precioVenta;
		this.cantidaMinima = cantidaMinima;
		this.compras = compras;
		this.ventas = ventas;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID_producto", unique = true, nullable = false)
	public Integer getIdProducto() {
		return this.idProducto;
	}

	public void setIdProducto(Integer idProducto) {
		this.idProducto = idProducto;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_proveedor")
	public Proveedor getProveedor() {
		return this.proveedor;
	}

	public void setProveedor(Proveedor proveedor) {
		this.proveedor = proveedor;
	}

	@Column(name = "nombre", nullable = false, length = 50)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "marca", length = 50)
	public String getMarca() {
		return this.marca;
	}

	public void setMarca(String marca) {
		this.marca = marca;
	}

	@Column(name = "codigo_barra", length = 20)
	public String getCodigoBarra() {
		return this.codigoBarra;
	}

	public void setCodigoBarra(String codigoBarra) {
		this.codigoBarra = codigoBarra;
	}

	@Column(name = "descripcion", length = 50)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Column(name = "cantidad", nullable = false, precision = 22, scale = 0)
	public double getCantidad() {
		return this.cantidad;
	}

	public void setCantidad(double cantidad) {
		this.cantidad = cantidad;
	}

	@Column(name = "precio_costo", precision = 22, scale = 0)
	public Double getPrecioCosto() {
		return this.precioCosto;
	}

	public void setPrecioCosto(Double precioCosto) {
		this.precioCosto = precioCosto;
	}

	@Column(name = "precio_venta", nullable = false, precision = 22, scale = 0)
	public double getPrecioVenta() {
		return this.precioVenta;
	}

	public void setPrecioVenta(double precioVenta) {
		this.precioVenta = precioVenta;
	}

	@Column(name = "cantida_minima")
	public Integer getCantidaMinima() {
		return this.cantidaMinima;
	}

	public void setCantidaMinima(Integer cantidaMinima) {
		this.cantidaMinima = cantidaMinima;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "producto")
	public Set<Compra> getCompras() {
		return this.compras;
	}

	public void setCompras(Set<Compra> compras) {
		this.compras = compras;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "producto")
	public Set<Venta> getVentas() {
		return this.ventas;
	}

	public void setVentas(Set<Venta> ventas) {
		this.ventas = ventas;
	}
	public String toString(){
		return nombre;
		}

}
